uniform vec3 colorA; //红色
uniform vec3 colorB;
varying vec3 vPosition;
void main() {
    float t = vPosition.y; // 假设我们根据y坐标进行渐变
    float x = vPosition.x;
    float color_r;
    float color_g;
    float color_b;
    if(vPosition.x<-16918.0){
        color_r =  colorB[0];
        color_g =  colorB[1] ;  //注意float类型，后面加点
        color_b = colorB[2];
    }else if(vPosition.x>=-16918.0&&vPosition.x<-15618.0){
        // 原色 + （当前位置 - 起始位置）* （ 目标色 / 间距）
        color_r =  1.0;
        color_g =  0.0 +(vPosition.z+16618.0)*(1.0/(16618.0 - 15618.0));
        color_b = 0.;
    }else if(vPosition.x>=-15618.0&&vPosition.x<-14618.0&&vPosition.z>11700.0){
        // 原色 + （当前位置 - 起始位置）* （ 目标色 / 间距）
        color_r =  0.2039 +(vPosition.y-11700.0)*(0.5/2000.0);
        color_g =  0.7529 - (vPosition.y-11700.0)*(0.25/2000.0);
        color_b = 0.0+(vPosition.y-11700.0)*(1.0/2000.0);
    }else{
        //vec3 color = mix(colorA, colorB, y); // 使用mix函数进行颜色插值
        //color_r =  mod(colorA[0]+mod(vPosition.x+15618.,255.)*3.0, 255.) ;  //取余
        color_r = colorA[0] - fract(vPosition.y *0.1);
        color_g =  colorA[1] + fract(vPosition.y *0.1) ;  //注意float类型，后面加点
        color_b = colorA[2];
    }
    gl_FragColor = vec4(color_r,color_g,color_b, 0.5);
}
